package com.study.apchePoi;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PoiDemo {
    public static void main(String[] args) {
        try {
            XSSFWorkbook  xb = new XSSFWorkbook(new FileInputStream("C:/Users/zhang/Desktop/tb_label.xlsx"));
            XSSFSheet xf = xb.getSheetAt(0);
            XSSFRow titleCell  = xf.getRow(0);
            List<Label> list = new ArrayList<>();
            for (int i = 1; i <titleCell.getLastCellNum() ; i++) {
                Label label1 = new Label();
                label1.setId("111111111");
                XSSFRow xssfRow = xf.getRow(i);
                label1.setId(xssfRow.getCell(0).getStringCellValue());
                label1.setName(xssfRow.getCell(1).getStringCellValue());
                label1.setType((int)xssfRow.getCell(2).getNumericCellValue());
                label1.setFallow((int) (xssfRow.getCell(3).getNumericCellValue()));
                label1.setFlag(xssfRow.getCell(4).getStringCellValue());
                label1.setFans((int)(xssfRow.getCell(5).getNumericCellValue()));
                list.add(label1);
                System.out.println("");
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static String getValue(XSSFCell xssfRow) {
        if (xssfRow != null) {
//            if (xssfRow != null) {
//                xssfRow.setCellType(xssfRow.CELL_TYPE_STRING);
//            }
//            if (xssfRow.getCellType() == xssfRow.CELL_TYPE_BOOLEAN) {
//                return String.valueOf(xssfRow.getBooleanCellValue());
//            } else if (xssfRow.getCellType() == xssfRow.CELL_TYPE_NUMERIC) {
//                String result = "";
//                if (xssfRow.getCellStyle().getDataFormat() == 22) {
//                    // 处理自定义日期格式：m月d日(通过判断单元格的格式id解决，id的值是58)
//                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//                    double value = xssfRow.getNumericCellValue();
//                    Date date = org.apache.poi.ss.usermodel.DateUtil.getJavaDate(value);
//                    result = sdf.format(date);
//                } else {
//                    double value = xssfRow.getNumericCellValue();
//                    CellStyle style = xssfRow.getCellStyle();
//                    DecimalFormat format = new DecimalFormat();
//                    String temp = style.getDataFormatString();
//                    // 单元格设置成常规
//                    if (temp.equals("General")) {
//                        format.applyPattern("#");
//                    }
//                    result = format.format(value);
//                }
//                return result;
//            } else {
                return String.valueOf(xssfRow.getStringCellValue());
//            }
        } else
            return "0";
    }
}
